// Copyright 2022 a.o.smith ALL Rights Reserved
package com.liuxinlong.modules.dao;

import com.liuxinlong.modules.entity.HierarchyRelation;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 层级关联关系dao层接口
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2022年2月8日
 */
public interface HierarchyRelationDao extends IService<HierarchyRelation> {
    /**
     * 查询层级关联关系
     *
     * @param param 查询参数
     * @return 层级关联关系
     */
    List<HierarchyRelation> queryRelationList(Map<String, Object> param);

    /**
     * 批量新增层级关联关系
     *
     * @param relations 层级关联关系
     */
    void batchAddRelation(List<HierarchyRelation> relations);

    /**
     * 删除层级关联关系
     *
     * @param hierarchyId 层级id
     */
    void deleteRelation(String hierarchyId);

    /**
     * 删除层级关联关系
     *
     * @param relationId 关联层级id
     */
    void deleteRelationByRelation(String relationId);

    /**
     * 查询关联关系map
     *
     * @param hierarchyId 层级id
     * @return 关联关系map
     */
    Map<String, Map<String, String>> queryRelationMap(String hierarchyId);
}
